
package com.scott.itcast.thread.lesson13;



/**
 * 多线程共享数据
 * 设计1个线程  有5个窗口 卖100张票
 * 
 * 设计要点：如果每个线程的执行代码相同,可以使用同1个Runnable对象(ShareData)。这个Runnable对象中有那个共享数据
 * 
 */
public class MultiThreadSellTicket {

	public static void main(String[] args) {
		
		ShareData share= new ShareData();
		
		//第1个线程
		new Thread(share).start();
		
		//第2个线程
		new Thread(share).start();
		
		//第3个线程
		new Thread(share).start();
		
		//第4个线程
		new Thread(share).start();
		
		//第5个线程
		new Thread(share).start();
		

	}

}

class ShareData implements Runnable{
	
	//一开始有100张票
	private int counter=100;
	

	//实现接口的方法 具体卖票的逻辑
	public void run() {
		while(true){
			counter--;
			System.out.println(Thread.currentThread().getName()+"开始卖票" + "剩余的票数为"+counter);
			
			if(counter ==0){
				break;
			}
		}
		
	}
}
